The present invention relates to gamma-corrected texels in graphics systems, and particularly to the storage of gamma-corrected texels in a graphics memory and their use and conversion in a graphics system.
An image on a cathode-ray tube (CRT) or other type of monitor is generated by voltages that control three separate electron beams or other type of signals, one each for red, green, and blue. The response at the face of the screen, as measured in brightness or luminescence, to these voltages is nonlinear. Generally speaking, the image seen at the face of the screen is darker than what would be achieved by a linear response. Because of this, image information is lost, particularly among its darker portions. This error is typically reduced by a process referred to as gamma correction.
But typical graphics systems process textures, fragments, and other graphic information in linear space, before it has been gamma corrected. For example, the rendering of pixels on three dimensional objects is done in linear space. Gamma correction is typically done only after the pixels are complete, that is after they have been sent from the scanout engine to the CRT or other type of monitor for display.
This means that a great deal of processing is done on the darker portions of an image where resolution is lost during the conversion to a gamma-corrected image. If some or all of the processing in a graphics system could be performed using gamma-corrected information, for example gamma-corrected texels, the resolution at the dark end of the luminescence range could be retained, and image quality would be improved. However, gamma-corrected texels are not available in current graphics systems. Even if they were available and used, distortion would occur if they were applied since gamma-correction is performed at the graphics system output.
Thus, what is needed are improved circuits and methods for processing gamma-corrected texels and storing them in a graphics memory.